Graphite
|
Acolyte
|
|
|
Reged: 11/07/03
|
Posts: 161
|
|
|
|
I seem to remember that just storing the coordinates of the player and then setPos-ing him to those coordinates doesn't work because, if the position is in an unloaded cell, it would not load the cell. I also remember something about using 'fixme' to force Morrowind to reload the cell, but unfortunately it wouldn't look the cells nearby.
I've also seen the way the Multiple Teleport Marking seems to work by creating huge if-clauses that perform a positioncell before the setPos-ing and all so that Morrowind loads the right cells. Obviously this is a very cumbersome way of doing it. Now I have an idea that might make multi-mark teleporting a lot easier.
MARKING - when a player marks a spot, store his exact coordinates in some variables somewhere.
RECALLING - use setPos to place the player at the target location (stored in the variables for that mark) - use 'fixme' to load the cell (to stop one from falling through into the water) - use setPos again to make sure the player lands on the land (now this is the point where things would go wrong cause only the center cell will be loaded... however, here I suggest two more steps that might fix that problem) + cast the Mark effect at that spot to really mark it + cast Recall, making the player move to that spot again, hopefully with the loading of all relevant cells.
I think that, if these last two steps really work, one could make a world-wide multi-mark system with one simple script and you would be rid of the huge if-clauses. Unfortunately I'm not that well-versed in spells and spell-effects in Morrowind yet, so I can't really test this idea myself without some extensive studying of the scripting guide.
Post Extras:
|
|
|
Clever. Couldnt you test it using the console, and physically casting the mark/ recall.
Post Extras:
|
Simpleton
|
Acolyte
|
|
|
Reged: 07/02/04
|
Posts: 138
|
Loc: Earlham College, Richmond, IN
|
|
|
In scripting for dummies it lists a way to teleport to a dynamic location except to fix the problems you mention it just teleports you in small chunks every frame till you get there. I think the number of units it goes each frame is like 5000 something. If your idea works it would certainly be faster though. Give us an update if you ever get it to work.
-------------------- Do you have a burning desire to give me money?
Click Here to Donate
Post Extras:
|
ManaUser
|
Master
|
|
|
Reged: 05/31/00
|
Posts: 6115
|
Loc: Long Beach, CA, USA
|
|
|
There's a good chance that would work. The only bad thing is that it uses up the regular mark.
Post Extras:
|
Graphite
|
Acolyte
|
|
|
Reged: 11/07/03
|
Posts: 161
|
|
|
|
That's why I suggested it for the multi-mark system. It's already intended to replace the original mark/recall, so the loss won't be as noticeable.
Anyhow... I'll see whether I can get anything to work this weekend.
Post Extras:
|
|
|
I've been working on something similar to that for a week or so, off and on. If I can get it to work (before anyone else posts), I'll throw it up here. If not...someone will save me some work.
Post Extras:
|
Graphite
|
Acolyte
|
|
|
Reged: 11/07/03
|
Posts: 161
|
|
|
|
I just realised something. Even if this trick works, it will still be a lot of work to make the effect work for both interior and exterior cells. Setpos can't be used to move from the inside of a building to the outside of the building, for example.
Post Extras:
|
Simpleton
|
Acolyte
|
|
|
Reged: 07/02/04
|
Posts: 138
|
Loc: Earlham College, Richmond, IN
|
|
|
Just make it like a guar taxi service =). They'll come pick you up and take you somewhere (exterior only) for a price depending on the distance. Note that I don't mean like a horse riding script, this would be just a fade out - fade in thing.
-------------------- Do you have a burning desire to give me money?
Click Here to Donate
Post Extras:
|
JOG
|
Curate
|
|
|
Reged: 09/15/02
|
Posts: 745
|
|
|
|
setpos always loads the center cell and fixme reloads all 5x5 cells around the player, it's perfect for variable teleporting:
-positioncell to 0,0 (to leave interior cell when necessary)
-setpos to get to cell (center cell is loaded right now)
-fixme (to load the rest of the cells around player)
-setpos again (to put the player back to the place where he stood before he was moved by fixme)
For a working example see the exit-teleporter on the solitary island in Havish.
-------------------- Havish (Updated to v1.2 !!!)
Pirates! (WIP)
My Morrowind Corner
Post Extras:
|
Simpleton
|
Acolyte
|
|
|
Reged: 07/02/04
|
Posts: 138
|
Loc: Earlham College, Richmond, IN
|
|
|
in scripting for dummies it says that fixme sometimes doesn't work and can cause crashes.
-------------------- Do you have a burning desire to give me money?
Click Here to Donate
Post Extras:
|
JOG
|
Curate
|
|
|
Reged: 09/15/02
|
Posts: 745
|
|
|
|
Then SFD is wrong.
-------------------- Havish (Updated to v1.2 !!!)
Pirates! (WIP)
My Morrowind Corner
Post Extras:
|
|
|
Maybe I'm the only one, but I have never had fixme crash a game. Not once. I have had scripts which contain fixme crash the game, but because of a scripting error unrelated to fixme.
Post Extras:
|
|
|
ok I may be stupid but lets say you used like coc to escape the interior then did the rest you could pretty much center on any exterior cell cause you would never really land there although that would probably make the recall take more time but it would work I think
Post Extras:
|
|
|
Quote:
Then SFD is wrong.
Nigedo reported that cells sometimes didn't load despite fixme in the last errata thread -
http://www.elderscrolls.com/ubbthreads/showflat.php?Cat=&Number=2713582&page=&view=&sb=5&o=&fpart=3&vc=1
If you can, try to discuss it with him, and if MSFD is wrong, then I would love to hear the outcome for the next edition (if there is one)
Post Extras:
|
JOG
|
Curate
|
|
|
Reged: 09/15/02
|
Posts: 745
|
|
|
|
I've tested it thoroughly when creating the first mod that used it. In my current game I use it regulary for 4 months now, since my player's home-base is in a location where the exit uses a Positioncell...setpos...fixme...setpos script.
Never had a crash, and never had an unloaded cell.
-------------------- Havish (Updated to v1.2 !!!)
Pirates! (WIP)
My Morrowind Corner
Post Extras:
|
Bobvorius
|
Initiate
|
|
|
Reged: 07/27/04
|
Posts: 74
|
Loc: Dragon's Breech City
|
|
|
Isn't there already a multi-mark mod out?
-------------------- My pics
Freelance Modder and Lore apprentice-thingy
Morrowind IRC DnD Log
Morrowind Great House test! By me!
Post Extras:
|
ManaUser
|
Master
|
|
|
Reged: 05/31/00
|
Posts: 6115
|
Loc: Long Beach, CA, USA
|
|
|
Okay, I may have figured out what's going on. First I tried adapting a global recall script based on the "huge if-clause" method to use JOG's technique. It resulted in a near-freeze apperently caused by the script running over and over again (even though it was supposed to stop itself). However when I changed the script to work on an activator it worked as advertised. My theory is that using fixme that way gets the script a little confused, but if it's a local script it doesn't matter since it terminates once you've teleported out of the area.
So it looks to me like a great method for ship mods, portable tents, teleportation gates, and things like that; but maybe not so good for a multi-mark mod which would normally use a global script. Though might be as simple as creating a temporary object from the global to work around that.
Post Extras:
|
|
|
Hmm.. seems like that report settled a brewing arguement. Rock on with yo bad researchin' self, ManaUser!
Oh, and I really loved the Greyman quests in DF too; those were simply awesome!
Post Extras:
|
Nigedo
|
Diviner
|
|
|
Reged: 05/29/03
|
Posts: 2594
|
Loc: Deep beneath Vvardenfell
|
|
|
Quote:
setpos always loads the center cell and fixme reloads all 5x5 cells around the player, it's perfect for variable teleporting: . -positioncell to 0,0 (to leave interior cell when necessary) -setpos to get to cell (center cell is loaded right now) -fixme (to load the rest of the cells around player) -setpos again (to put the player back to the place where he stood before he was moved by fixme) . For a working example see the exit-teleporter on the solitary island in Havish.
Well blow me down!
I did check out your script in Havish, JOG, and I couldn't understand how it would work. When I tested this method very thoroughly (I thought) for Acid_Basik's portable interior tent mod, I could not get it to work correctly.
But I'll be damned if it doesn't work now.
I can only guess that I made the stupid assumption that the local script would stop working once the section that transported the Player to an exterior cell had been executed, so I adopted the faulty global script method from the start.
I'm the first to admit I'm wrong when the evidence is laughing in my face like a deranged banshee.
Ghan, I'm sorry to have mislead you and others here.
However, the script can still be improved by making the teleport experience smoother for the Player. Here is an aesthetically cleaner version of the same approach:-
Code:
Begin ACD_Any_Tent_Exit
;Global Float Global_PCX ;Global Float Global_PCY ;Global Float Global_PCZ Float xpos Float ypos Float zpos Float timer Short step
If ( OnActivate ) Set step to 1 Endif
If ( step == 1 ) FadeOut 0.1 ToggleMenus Set step to 2 Return
Elseif ( step == 2 ) Set timer to ( timer + GetSecondsPassed ) If ( timer > 0.2 ) Set step to 3 Endif Return
Elseif ( step == 3 ) Set step to 0 Player->COE 0 0
Set xpos to Global_PCX Set ypos to Global_PCY Set zpos to Global_PCZ
ToggleMenus MenuTest MenuTest
Player->SetPos x xpos Player->SetPos y ypos Player->SetPos z zpos
FixMe
Player->SetPos x xpos Player->SetPos y ypos Player->SetPos z zpos
FadeIn 0.1 Endif
End
-------------------- Dean of The Theoretical Whirling School Of Vivec
The Whirling School | Academy for Dwemer Studies | TES Lore FAQ
Post Extras:
|
Pyrus
|
Initiate
|
|
|
Reged: 07/27/04
|
Posts: 76
|
|
|
|
Hmmm... not exactly what i was searching for but someone here probably knows the answer. I recently stopped using the currently released multi mark and now i get the message that teleporation magic doesn't work here everywhere. I have deleted my mark/recall spells and relearned them but that didn't help. Anyone know what i can chop out my save to fix this?
BTW, on topic a more efficent multimark is a great idea and is probably what i would have searched for next, keep up the good work.
Post Extras:
|
ManaUser
|
Master
|
|
|
Reged: 05/31/00
|
Posts: 6115
|
Loc: Long Beach, CA, USA
|
|
|
Just open the console and type this: EnableTeleporting
Post Extras:
|
Pyrus
|
Initiate
|
|
|
Reged: 07/27/04
|
Posts: 76
|
|
|
|
Thanks! I guess I should have searched harder in morrowind in the construction kit for teleporting, instead of hacking my save all to hell. Oh well fps is a little better now anyway.
Post Extras:
|